home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Utilities / Programming / MT2Trivial 2.1.3 / MT2Trivial 2.1.3 ƒ / Example ƒ / test.p < prev    next >
Encoding:
Text File  |  1997-07-23  |  11.6 KB  |  516 lines  |  [TEXT/MPS ]

  1. {**********************************************************************
  2.             WARNING!
  3.             This source had been generated by
  4.             version  2.1.3 of the MT2Trivial Tool.
  5.             Be sure to ask author about improved 
  6.             version of the program :
  7.                             Michael I Trofimov,
  8.                             Internet: mtrofimov@glas.apc.org
  9.             (Any comments & suggestions will be highly appreciated.)
  10. **********************************************************************}
  11. {%% MT2Trivial Generation: Program heading}
  12. program test;
  13. {%% unit test;}
  14. {%%  INTERFACE }
  15. {%%DOC: Uses.p.Trivial -- begin}
  16. { CONST Version  = '1.0';   For 'vers' resource}
  17.  
  18. USES 
  19.       Events
  20.       ,Desk,Dialogs
  21.       ,Fonts
  22.       ,Memory,Menus
  23.       ,QuickDraw
  24.       ,ToolUtils
  25.       ,Windows
  26. {%% >> add necessary units here <<}
  27. ;
  28. {
  29. ,ActionAtomIntf,ADSP,AEObjects,AEPackObject,AERegistry,AIFF,Aliases,AppleEvents,AppleTalk
  30. ,Balloons
  31. ,CommResources,Components,Connections,ConnectionTools,Controls,CRMSerialDevices,CTBUtilities
  32. ,CursorCtl
  33. ,DatabaseAccess,DeskBus,Devices,DisAsmLookup,DiskInit,Disks
  34. ,Editions,ENET,EPPC,ErrMgr,Errors
  35. ,Files,FileTransfers,FileTransferTools,Finder,FixMath,Folders
  36. ,GestaltEqu,Graf3D
  37. ,HyperXCmd
  38. ,Icons,ImageCodec,ImageCompression,IntEnv
  39. ,Language,Lists
  40. ,MacPrint,MediaHandlers,Memory,MemTypes,MIDI,Movies,MoviesFormat
  41. ,Notification
  42. ,ObjIntf,OSEvents,OSIntf,OSUtils
  43. ,Packages,PackIntf,PaletteMgr,Palettes,PasLibIntf,Perf,Picker,PickerIntf,PictUtil
  44. ,Power,PPCToolBox,Printing,PrintTraps,Processes
  45. ,QDOffscreen,QuickTimeComponents
  46. ,Resources,Retrace,ROMDefs,RTLib
  47. ,SANE,Scrap,Script,SCSI,SCSIIntf,SegLoad,Serial,ShutDown,Signal,Slots,Sound,SoundInput
  48. ,StandardFile,Start,Strings,SysEqu
  49. ,Terminals,TerminalTools,TextEdit,Timer,ToolIntf,Traps,Types
  50. ,Unmangler
  51. ,Video,VideoIntf
  52. }
  53.  
  54. CONST
  55.  
  56. {%%DOC: Uses.p.Trivial-- eof}
  57.  
  58.   ALRT130MyAlertBox = 130; { My alert box DITL130 }
  59.   BtnOk = 1; { Btn: Ok }
  60.   StTTextInAlertBox = 2; { StT: Text in alert box }
  61.  
  62.   DLOG1281stDialog = 128; { 1st Dialog DITL128 }
  63.   BtnOkZ = 1; { Btn: Ok }
  64.   Btn2Cancel = 2; { Btn: 2Cancel }
  65.   EdT = 3; { EdT:  }
  66.   EdT2 = 4; { EdT: 2 }
  67.   EdT3 = 5; { EdT: 3 }
  68.   ChkDoIt = 6; { Chk: Do it }
  69.   RadHi = 7; { Rad: Hi }
  70.   Rad2Lo = 8; { Rad: 2Lo }
  71.   Pic = 9; { Pic:  }
  72.   Icn = 10; { Icn:  }
  73.   StT = 11; { StT:  }
  74.   StT2AnyText = 12; { StT: 2Any Text }
  75.  
  76.   DLOG1292ndDialog = 129; { 2nd Dialog DITL129 }
  77.   BtnOkZZ = 1; { Btn: Ok }
  78.   Btn2CancelZ = 2; { Btn: 2Cancel }
  79.   Usr = 3; { Usr:  }
  80.   StTPleaseSelectFileFromList = 4; { StT: Please, select file from list. }
  81.  
  82.   MBARID = 128; { MBARID }
  83.   AppleID = 256; { AppleID }
  84.   AboutTestEditMItem = 1; { About testEdit…MItem }
  85.   MENU257File = 257; { File }
  86.   NewMItem = 1; { NewMItem }
  87.   OpenMItem = 2; { Open…MItem }
  88.   CloseMItem = 3; { CloseMItem }
  89.   SaveMItem = 5; { SaveMItem }
  90.   SaveAsMItem = 6; { Save as…MItem }
  91.   PageSetupMItem = 8; { Page Setup…MItem }
  92.   PrintMItem = 9; { Print…MItem }
  93.   QuitMItem = 11; { QuitMItem }
  94.   MENU258Edit = 258; { Edit }
  95.   UndoMItem = 1; { UndoMItem }
  96.   CutMItem = 3; { CutMItem }
  97.   CopyMItem = 4; { CopyMItem }
  98.   PasteMItem = 5; { PasteMItem }
  99.   ClearMItem = 6; { ClearMItem }
  100.   SelectAllMItem = 7; { Select AllMItem }
  101.   WIND128NewWindow = 128; { New Window }
  102.  
  103. {%%
  104.  PROCEDURE DoALRT130MyAlertBox;
  105.  PROCEDURE DoDLOG1281stDialog;
  106.  PROCEDURE DoDLOG1292ndDialog;
  107.  PROCEDURE DoMakeMenus;
  108.  PROCEDURE DoNewWindow;
  109. %%}
  110.  
  111. {%% IMPLEMENTATION }
  112.  
  113.  
  114. {%%DOC: User.p.Trivial -- begin}
  115.  
  116.  
  117. {%%DOC: User.p.Trivial -- eof}
  118.  
  119.  PROCEDURE DoBtnOk;
  120.   begin { DoBtnOk }
  121.  
  122.   end; { DoBtnOk }
  123.  
  124.  PROCEDURE DoALRT130MyAlertBox;
  125.   VAR
  126.    itemHit : integer;
  127.  
  128.   begin { DoALRT130MyAlertBox }
  129. itemHit := Alert (ALRT130MyAlertBox, nil);
  130.     case itemHit of
  131.       BtnOk : DoBtnOk;
  132.      {StTTextInAlertBox : --disable }
  133.      end; {case}
  134.   end; { DoALRT130MyAlertBox }
  135.  
  136.  PROCEDURE DoBtnOkZ;
  137.   begin { DoBtnOkZ }
  138.  
  139.   end; { DoBtnOkZ }
  140.  
  141.  PROCEDURE DoEdT;
  142.   begin { DoEdT }
  143.  
  144.   end; { DoEdT }
  145.  
  146.  PROCEDURE DoEdT2;
  147.   begin { DoEdT2 }
  148.  
  149.   end; { DoEdT2 }
  150.  
  151.  PROCEDURE DoEdT3;
  152.   begin { DoEdT3 }
  153.  
  154.   end; { DoEdT3 }
  155.  
  156.  PROCEDURE DoChkDoIt;
  157.   begin { DoChkDoIt }
  158.  
  159.   end; { DoChkDoIt }
  160.  
  161.  PROCEDURE DoRadHi;
  162.   begin { DoRadHi }
  163.  
  164.   end; { DoRadHi }
  165.  
  166.  PROCEDURE DoRad2Lo;
  167.   begin { DoRad2Lo }
  168.  
  169.   end; { DoRad2Lo }
  170.  
  171.  PROCEDURE DoIcn;
  172.   begin { DoIcn }
  173.  
  174.   end; { DoIcn }
  175.  
  176.  PROCEDURE DoDLOG1281stDialog;
  177.   VAR
  178.    itemHit : integer;
  179.    DialogW : DialogPtr;
  180.  
  181.   begin { DoDLOG1281stDialog }
  182.    DialogW := GetNewDialog (DLOG1281stDialog,nil, pointer (-1));
  183.    REPEAT
  184.     ModalDialog (nil, itemHit); {%% >> Change it for modless dialog <<}
  185.     case itemHit of
  186.       BtnOkZ : DoBtnOkZ;
  187.      {Btn2Cancel : --disable }
  188.       EdT : DoEdT;
  189.       EdT2 : DoEdT2;
  190.       EdT3 : DoEdT3;
  191.       ChkDoIt : DoChkDoIt;
  192.       RadHi : DoRadHi;
  193.       Rad2Lo : DoRad2Lo;
  194.      {Pic : --disable }
  195.       Icn : DoIcn;
  196.      {StT : --disable }
  197.      {StT2AnyText : --disable }
  198.      end; {case}
  199.    UNTIL itemHit = BtnOkZ; {%%?}
  200.    DisposeDialog (DialogW);
  201.   end; { DoDLOG1281stDialog }
  202.  
  203.  PROCEDURE DoBtnOkZZ;
  204.   begin { DoBtnOkZZ }
  205.  
  206.   end; { DoBtnOkZZ }
  207.  
  208.  PROCEDURE DoBtn2CancelZ;
  209.   begin { DoBtn2CancelZ }
  210.  
  211.   end; { DoBtn2CancelZ }
  212.  
  213.  PROCEDURE DoDLOG1292ndDialog;
  214.   VAR
  215.    itemHit : integer;
  216.    DialogW : DialogPtr;
  217.  
  218.   begin { DoDLOG1292ndDialog }
  219.    DialogW := GetNewDialog (DLOG1292ndDialog,nil, pointer (-1));
  220.    REPEAT
  221.     ModalDialog (nil, itemHit); {%% >> Change it for modless dialog <<}
  222.     case itemHit of
  223.       BtnOkZZ : DoBtnOkZZ;
  224.       Btn2CancelZ : DoBtn2CancelZ;
  225.      {Usr : --disable }
  226.      {StTPleaseSelectFileFromList : --disable }
  227.      end; {case}
  228.    UNTIL itemHit = BtnOkZZ; {%%?}
  229.    DisposeDialog (DialogW);
  230.   end; { DoDLOG1292ndDialog }
  231.  
  232.  PROCEDURE DoAboutTestEditMItem;
  233.   begin { DoAboutTestEditMItem }
  234.  
  235.   end; { DoAboutTestEditMItem }
  236.  
  237.  PROCEDURE DoNewMItem;
  238.   begin { DoNewMItem }
  239.  
  240.   end; { DoNewMItem }
  241.  
  242.  PROCEDURE DoOpenMItem;
  243.   begin { DoOpenMItem }
  244.  
  245.   end; { DoOpenMItem }
  246.  
  247.  PROCEDURE DoCloseMItem;
  248.   begin { DoCloseMItem }
  249.  
  250.   end; { DoCloseMItem }
  251.  
  252.  PROCEDURE DoSaveMItem;
  253.   begin { DoSaveMItem }
  254.  
  255.   end; { DoSaveMItem }
  256.  
  257.  PROCEDURE DoSaveAsMItem;
  258.   begin { DoSaveAsMItem }
  259.  
  260.   end; { DoSaveAsMItem }
  261.  
  262.  PROCEDURE DoPageSetupMItem;
  263.   begin { DoPageSetupMItem }
  264.  
  265.   end; { DoPageSetupMItem }
  266.  
  267.  PROCEDURE DoPrintMItem;
  268.   begin { DoPrintMItem }
  269.  
  270.   end; { DoPrintMItem }
  271.  
  272.  PROCEDURE DoQuitMItem (var Quit : Boolean);
  273.   begin { DoQuitMItem }
  274.   Quit := true;
  275.   end; { DoQuitMItem }
  276.  
  277.  PROCEDURE DoUndoMItem;
  278.   begin { DoUndoMItem }
  279.  
  280.   end; { DoUndoMItem }
  281.  
  282.  PROCEDURE DoCutMItem;
  283.   begin { DoCutMItem }
  284.  
  285.   end; { DoCutMItem }
  286.  
  287.  PROCEDURE DoCopyMItem;
  288.   begin { DoCopyMItem }
  289.  
  290.   end; { DoCopyMItem }
  291.  
  292.  PROCEDURE DoPasteMItem;
  293.   begin { DoPasteMItem }
  294.  
  295.   end; { DoPasteMItem }
  296.  
  297.  PROCEDURE DoClearMItem;
  298.   begin { DoClearMItem }
  299.  
  300.   end; { DoClearMItem }
  301.  
  302.  PROCEDURE DoSelectAllMItem;
  303.   begin { DoSelectAllMItem }
  304.  
  305.   end; { DoSelectAllMItem }
  306.  
  307.  
  308. {%%DOC: MenuComm.p.Trivial -- begin}
  309.  
  310. PROCEDURE DoMenuCommand(event: EventRecord; var quit : Boolean);
  311.  
  312. VAR
  313.   menuResult: longint;
  314.   menu,mitem: integer;
  315.  
  316. BEGIN
  317.   menuResult:=MenuSelect(event.where);
  318.   menu:=HiWord(menuResult);
  319.   mitem:=LoWord(menuResult);
  320.   
  321.   CASE menu OF
  322. {%%DOC: MenuComm.p.Trivial -- eof}
  323.   AppleID : case mitem of
  324.       AboutTestEditMItem : DoAboutTestEditMItem;
  325.      end; {case -- AppleID }
  326.   MENU257File : case mitem of
  327.       NewMItem : DoNewMItem;
  328.       OpenMItem : DoOpenMItem;
  329.       CloseMItem : DoCloseMItem;
  330.       SaveMItem : DoSaveMItem;
  331.       SaveAsMItem : DoSaveAsMItem;
  332.       PageSetupMItem : DoPageSetupMItem;
  333.       PrintMItem : DoPrintMItem;
  334.       QuitMItem : DoQuitMItem(Quit);
  335.      end; {case -- MENU257File }
  336.   MENU258Edit : case mitem of
  337.       UndoMItem : DoUndoMItem;
  338.       CutMItem : DoCutMItem;
  339.       CopyMItem : DoCopyMItem;
  340.       PasteMItem : DoPasteMItem;
  341.       ClearMItem : DoClearMItem;
  342.       SelectAllMItem : DoSelectAllMItem;
  343.      end; {case -- MENU258Edit }
  344.      end; {case}
  345.   end; { DoMenuCommand }
  346.  
  347.  
  348. {%%DOC: MakeMenu.p.Trivial -- begin}
  349.  
  350. PROCEDURE DoMakeMenus;
  351.     var
  352.         menuBar: Handle;
  353.     
  354.     BEGIN
  355.       menuBar:=GetNewMBar(MBARID); {read menus and menu bar}
  356.     
  357.       IF menuBar<>NIL
  358.         THEN
  359.           BEGIN
  360.             SetMenuBar(menuBar); {insert menus into the current menu list}
  361.             DisposHandle(menuBar);
  362.             AddResMenu(GetMHandle(AppleID),'DRVR'); {add desktop items in Apple Menu
  363.                                                    Items folder to Apple menu}
  364.                                                 
  365.             {%% >> adjust items and enabled state of menus <<}
  366.             
  367.             DrawMenuBar; {draw the menu bar}
  368.     
  369.           END;
  370.     END; {DoMakeMenus}
  371.  
  372. {%%DOC: MakeMenu.p.Trivial -- eof}
  373.  
  374. {%%DOC: NewWindow.p.Trivial -- begin}
  375.  
  376.  PROCEDURE  DoNewWindow ( WINDId : integer; var window : WindowPtr);
  377.   begin {DoNewWindow}
  378.  
  379.    window := nil;
  380.    window := GetNewWindow ( WINDId,nil,WindowPtr(-1)); {%%? >> GetNewCWindow << }
  381.  end; {DoNewWindow}
  382.  
  383. {%%DOC: NewWindow.p.Trivial -- eof}
  384.  
  385. {%%DOC: MainLoop.p.Trivial -- begin}
  386.  
  387.   PROCEDURE DoOSEvent(event: EventRecord; VAR cursorRgn: RgnHandle);
  388.   {Handling operating-system events}
  389.  
  390.     VAR
  391.       window: windowPtr;
  392.       activate: boolean;
  393.  
  394.     BEGIN
  395.       window:=FrontWindow;
  396.       CASE BSR(event.message,24) OF
  397.        mouseMovedMessage:
  398.        
  399.                {%% >> Adjust cursor <<}; 
  400.                 
  401.         suspendResumeMessage:
  402.           BEGIN
  403.             activate:=(BAnd(event.message,resumeFlag)<>0);
  404.             
  405.            {%% >> activate appl. window <<};
  406.            
  407.           END;
  408.         OTHERWISE;
  409.       END;
  410.     END; {DoOSEvent}
  411.  
  412. PROCEDURE DoMouseDown (event: EventRecord; var quit : Boolean);
  413.     VAR
  414.      part         : integer;
  415.      aWindow     : WindowPtr;
  416.      
  417.     BEGIN
  418.       part:=FindWindow(event.where,aWindow);
  419.       CASE part OF
  420.         InSysWindow:     SystemClick(event,aWindow);
  421.         inMenuBar:      DoMenuCommand(event,quit);
  422.         inDrag:         {%% >> <<};
  423.         inGoAway:         {%% >> <<};
  424.         inGrow:          {%% >> <<};
  425.         inZoomIn, 
  426.         inZoomOut:         {%% >> handle mouse down in zoombox region <<};
  427.         inContent:        {%% >> <<};
  428.       END; {case part of}
  429.     END; {DoMouseDown}
  430.  
  431.   PROCEDURE MainLoop;
  432.  
  433.     CONST
  434.       kReturnKey = $0D;
  435.       kEnterKey = $03;
  436.       kEscKey = 27;
  437.       
  438.  
  439.     VAR
  440.       key: Char;
  441.       quit,gotEvent,activate : Boolean;
  442.       event: EventRecord;
  443.       cursorRgn: RgnHandle;
  444.  
  445.     BEGIN
  446.       cursorRgn:=NewRgn;
  447.       quit:=false;
  448.       REPEAT
  449.         gotEvent:=WaitNextEvent(everyEvent,event,15,cursorRgn);
  450.         IF gotEvent
  451.           THEN
  452.             CASE event.what OF
  453.               osEvt: DoOSEvent(event,cursorRgn);
  454.               activateEvt: 
  455.                 BEGIN
  456.                   activate:=BAnd(event.modifiers,activeFlag)<>0;
  457.                           {%% >> <<}
  458.                 END;
  459.               updateEvt:     {%% >> <<};
  460.               mouseUp:         {%% >> <<};
  461.  
  462.               mouseDown: DoMouseDown (event,quit);
  463.  
  464.               keyDown,autoKey:
  465.                 BEGIN
  466.                   key:=chr(BAnd(event.message,charCodeMask));
  467.                   IF (BAnd(event.modifiers,cmdKey)<>0)
  468.                     THEN {command key down}
  469.                      {%% >> <<}
  470.                     ELSE IF key IN [chr(kReturnKey),chr(kEnterKey)]
  471.                       THEN {return or enter keys were pressed}
  472.                          {%% >> <<}
  473.                       ELSE IF (key=chr(kEscKey))
  474.                         THEN {esc key was pressed}
  475.                           BEGIN
  476.                            {%% >> <<}
  477.                           END
  478.                          ELSE 
  479.                           {%% >> <<};
  480.                  END;
  481.               diskEvt:              {%% >> <<};
  482.               nullEvent:         {%% >> <<};
  483.             END; {case}
  484.       UNTIL quit;
  485.       DisposeRgn(cursorRgn);
  486.     END; {MainLoop}
  487.  
  488.   PROCEDURE Init;
  489.     BEGIN
  490.       MaxApplZone;
  491.       MoreMasters;
  492.       MoreMasters;
  493.       MoreMasters;
  494.       MoreMasters;
  495.       MoreMasters;
  496.       MoreMasters;
  497.       
  498.       InitGraf(@thePort);
  499.       InitFonts;                    
  500.       InitWindows;
  501.       InitMenus;
  502.       TEInit;                        
  503.        InitDialogs(NIL);
  504.       InitCursor;                     
  505.        DoMakeMenus;
  506.   
  507.       {%% >> add another initialization here <<}
  508.     END; {Init}
  509.     
  510. BEGIN {program body}
  511.  Init;
  512.  MainLoop;
  513. END.
  514. {%%DOC: MainLoop.p.Trivial -- eof}
  515.  
  516.